import Vue from 'vue';
import Vuex from 'vuex';
import createVuexAlong from 'vuex-along';
import state from '@/store/state';
import getters from '@/store/getters';
import mutations from '@/store/mutations';
import actions from '@/store/actions';
import lele from '@/store/modules/lele/lele';
import hanhan from '@/store/modules/hanhan/hanhan';
// 声明使用插件
Vue.use(Vuex);
// 暴露store对象
export default new Vuex.Store({
    state,
    getters,
    mutations,
    actions,
    modules:{
        lele,
        hanhan
    },
    plugins:[
        /* vuex当中存放很多个模块
        1.有的需要持久化存储  localStorage   eg:lele
        2.不需要  num
        3.浏览器不关闭一直存在，关闭清空 sessionStorage
        

        当local和session当中啥也没写都存 localStorage
        如果vuex当中的数据都要存储 list空着
        如果某个模块要持久化存储只要不删除一直存储 local当中的list当中
        如果不关闭浏览器一直存 关闭浏览器再打开数据初始化 存到sesssion list

        */
        createVuexAlong({
            name:"hanhan-haha",
            local:{
                
                list:['lele']
            },
            session:{
                list:["hanhan"]
            }
        })
    ]
})


/* 
vuex存储数据当页面刷新时，数据丢失？如何解决

经常有需求将vuex存储的数据进行持久化存储
localStorage  sessionStorage

vuex-along
vuex-persistedstate

vuex-along
下载npm install vuex-along --save




*/